import os

# 查看当前所在目录
print(os.getcwd())

# 切换目录
# os.chdir('D:\\')
# print(os.getcwd())

# 返回指定目录下的所有文件和目录名
# print(os.listdir('.'))

# 生成一个多层递归目录,
# os.makedirs('测试\\再测试')

# 若目录为空，则删除，并递归到上一级目录，如若也为空，则删除，依次类推;
# os.removedirs('测试\\再测试')

# 创建一个目录(可以递归创建)
# os.mkdir('试')
# os.mkdir('试\\试试')

# 删除一个目录，若目录不为空则无法删除，报错
# os.rmdir('试')

# 删除文件，不能删除文件夹
# os.remove('九折.txt')

# 获取文件/目录信息,并可以获取到文件的大小
# info = os.stat('九折.txt')
# print(info)

# st_mode: inode 保护模式
# st_ino: inode 节点号。
# st_dev: inode 驻留的设备。
# st_nlink: inode 的链接数。
# st_uid: 所有者的用户ID。
# st_gid: 所有者的组ID。
# st_size: 普通文件以字节为单位的大小；包含等待某些特殊文件的数据。
# st_atime: 上次访问的时间。
# st_mtime: 最后一次修改的时间。
# st_ctime: 由操作系统报告的"ctime"。在Windows上是创建时间

# print(info.st_size)
# 文件大小


# 输出操作系统特定的路径分隔符 ，(注：windows 为‘\\’,Linux为‘/’)
# print(os.sep)

# 输出用于分割文件路径的字符串
# print(os.pathsep)

# 运行shell命令，直接显示（相当于启动一个全新的shell，然后去执行那条命令，命令执行完成过后，shell直接退出）
# print(os.system('dir'))

# 获取操作系统的环境变量
# print(os.environ)
 
# 将path分割成目录和文件名二元组返回
# info = os.path.split('C:\\Users\\猫头鹰\\Desktop\\测试\\九折.txt')
# print(info, type(info))

# 判断文件或者目录是否存在。存在返回True，不存在返回False
# print(os.path.exists('.\\九折.txt'))

# 判断是否为文件。 是文件返回True不是返回False
# print(os.path.isfile('.\\九折.txt'))

# 判断是否为目录。 是目录返回True不是返回False
# print(os.path.isdir('.\\九折.txt'))

# 返回文件名
# print(os.path.basename('.\\九折.txt'))

# 返回文件路径
# print(os.path.dirname('.\\九折.txt'))

# 获得文件大小，如果是目录返回0L
# print(os.path.getsize('.\\九折.txt'))

# 获得绝对路径
print(os.path.abspath('.\\九折.txt'))

# 连接目录与文件夹或目录
# print(os.path.join(os.path.abspath('.'),'九折.txt'))